import { setNickName, setAvatar, setProfile } from "../../api/member"
import getUserInfo from "../../utils/get-user-info"

const app = getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    avatar: '',
    nickName: '',
    phone: '',
    realName: '',
    idCard: '',

    region: ['湖南省', '常德市', ''], 

    dialogSet: {
      field: '',
      title: '',
      value: '',
      visible: false
    }
  },

  onAvatarSelect () {
    // https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html
    wx.chooseImage({
      count: 1,
      // sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success: res => {
        // tempFilePath可以作为img标签的src属性显示图片
        const file = res.tempFilePaths[0]
        wx.showLoading({
          title: '上传图像中',
        })
        setAvatar(file).then(() => {
          this.setData({
            avatar: file
          })
          app.globalData.userInfoHasChange = true
          wx.hideLoading()
        }).catch(err => {
          wx.hideLoading()
          wx.showToast({
            icon: 'error',
            title: '修改头像失败'
          })
        })
      }
    })
  },

  onDialogShowNickName() {
    this.currentEditField = 'nickname'
    this.setData({
      'dialogSet.title': '昵称修改',
      'dialogSet.value': this.data.nickName,
      'dialogSet.visible': true
    })
  },
  onDialogShowRealName() {
    this.currentEditField = 'realname'
    this.setData({
      'dialogSet.title': '真实姓名修改',
      'dialogSet.value': this.data.realName,
      'dialogSet.visible': true
    })
  },

  onDialogShowIdCard () {
    this.currentEditField = 'idcard'
    this.setData({
      'dialogSet.title': '身份证号码',
      'dialogSet.value': this.data.idCard,
      'dialogSet.visible': true
    })
  },

  onDialogShowPhone(e) {
    // wx.navigateTo()
    
    // this.currentEditField = 'phone'
    // this.setData({
    //   'dialogSet.title': '手机号码',
    //   'dialogSet.value': this.data.phone,
    //   'dialogSet.visible': true
    // })
  },

  async onConfirmDialogSet(e) {
    switch (this.currentEditField) {
      case 'nickname':
        setNickName(e.detail).then(() => {
          app.globalData.userInfoHasChange = true
        })

        break
      case 'realname':
        setProfile({
          real_name: e.detail
        })
        break
      case 'phone':
        break
    }

    this.setData({
      'dialogSet.visible': false
    })
  },

  

  bindRegionChange () {},

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad (options) {
    const userInfo = await getUserInfo()
    this.setData({
      avatar: userInfo.avatar,
      nickName: userInfo.nick_name,
      phone: userInfo.mobile
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})